#pragma once

// Dependencies
#include "../Core/Transform.h"
#include <memory>
#include <vector>
namespace View {
	class RenderContext;
}

namespace Model {
	class Mesh {
	public:
		Mesh();
		virtual ~Mesh();

	public:
		void render( View::RenderContext& rx );

	protected:
		virtual void setupTransform();
		virtual void onRender( View::RenderContext& rx );

	public:
		Core::Transform3f	mTransform;
		Core::Vector3f	mOrigin;
		std::vector<std::shared_ptr<Mesh>> mSubmeshes;
	};
}